#ifndef CONNECTVIEWER_H
#define CONNECTVIEWER_H

//  connect(m_Viewer, SIGNAL(resetFlipImage()),
//	  this, SLOT(resetFlipImage()));
//
//  connect(m_Viewer, SIGNAL(addRotationAnimation(int, float, int)),
//	  this, SLOT(addRotationAnimation(int, float, int)));

  connect(m_Viewer, SIGNAL(quitMahaDrishti()),
	  this, SLOT(close()));

//  connect(m_Viewer, SIGNAL(switchBB()),
//	  this, SLOT(switchBB()));
//
//  connect(m_Viewer, SIGNAL(switchAxis()),
//	  this, SLOT(switchAxis()));
//
//  connect(m_Viewer, SIGNAL(searchCaption(QStringList)),
//	  this, SLOT(searchCaption(QStringList)));
//
//  connect(m_Viewer, SIGNAL(saveOpacityVolume()),
//	  this, SLOT(saveOpacityVolume()));
//
//  connect(m_Viewer, SIGNAL(maskRawVolume()),
//	  this, SLOT(maskRawVolume()));
//
//  connect(m_Viewer, SIGNAL(countIsolatedRegions()),
//	  this, SLOT(countIsolatedRegions()));
//
//  connect(m_Viewer, SIGNAL(getVolume()),
//	  this, SLOT(getVolume()));
//
//  connect(m_Viewer, SIGNAL(getVolume(unsigned char)),
//	  this, SLOT(getVolume(unsigned char)));
//
//  connect(m_Viewer, SIGNAL(getSurfaceArea()),
//	  this, SLOT(getSurfaceArea()));
//
//  connect(m_Viewer, SIGNAL(getSurfaceArea(unsigned char)),
//	  this, SLOT(getSurfaceArea(unsigned char)));
//
//  connect(m_Viewer, SIGNAL(setView(Vec, Quaternion,
//				   QImage, float)),
//	  this, SLOT(setView(Vec, Quaternion,
//			     QImage, float)));

  connect(m_Viewer, SIGNAL(setKeyFrame(Vec, Quaternion,
				       int,
				       Vec, int,
				       QImage,
				       Vec, Vec,
				       float*)),
	  this, SLOT(setKeyFrame(Vec, Quaternion,
				 int,
				 Vec, int,
				 QImage,
				 Vec, Vec,
				 float*)));

//  connect(m_Viewer, SIGNAL(tagAllVolume(int, bool)),
//	  this, SLOT(tagAllVolume(int, bool)));
//
//  connect(m_Viewer, SIGNAL(dilateAllVolume(int, int, bool)),
//	  this, SLOT(dilateAllVolume(int, int, bool)));
//
//  connect(m_Viewer, SIGNAL(erodeAllVolume(int, int, bool)),
//	  this, SLOT(erodeAllVolume(int, int, bool)));
//
//  connect(m_Viewer, SIGNAL(tagVolumeAt(QBitArray, QList<Vec>, QList<Vec>, int)),
//	  this, SLOT(tagVolumeAt(QBitArray, QList<Vec>, QList<Vec>, int)));
//
//  connect(m_Viewer, SIGNAL(fillVolumeAt(QBitArray, QList<Vec>, int, int, bool)),
//	  this, SLOT(fillVolumeAt(QBitArray, QList<Vec>, int, int, bool)));
//
//
//  connect(m_Viewer, SIGNAL(setHiresMode(bool)),
//	  m_keyFrameEditor, SLOT(setHiresMode(bool)));

  connect(m_Viewer, SIGNAL(replaceKeyFrameImage(int, QImage)),
	  m_keyFrameEditor, SLOT(setImage(int, QImage)));

  connect(m_Viewer, SIGNAL(replaceKeyFrameImage(int, QImage)),
	  m_keyFrame, SLOT(replaceKeyFrameImage(int, QImage)));

  connect(m_Viewer, SIGNAL(nextFrame()),
	  m_keyFrameEditor, SLOT(paused()));

//  connect(m_Viewer, SIGNAL(histogramUpdated(QImage, QImage)),
//	  m_tfEditor, SLOT(setHistogramImage(QImage, QImage)));



  connect(m_keyFrame, SIGNAL(updateLightInfo(LightingInformation)),
	  m_Viewer,
	  SLOT(setLightInfo(LightingInformation)));

  connect(m_keyFrame, SIGNAL(updateGL()),
	  m_Viewer, SLOT(updateGL()));

  connect(m_keyFrame, SIGNAL(replaceKeyFrameImage(int)),
	  m_Viewer, SLOT(captureKeyFrameImage(int)));

  connect(m_keyFrame, SIGNAL(currentFrameChanged(int)),
	  m_Viewer, SLOT(setCurrentFrame(int)));

  connect(m_keyFrame, SIGNAL(updateLookFrom(Vec, Quaternion)),
	  m_Viewer, SLOT(updateLookFrom(Vec, Quaternion)));

  connect(m_keyFrame, SIGNAL(updateVolumeBounds(Vec, Vec)),
	  m_Viewer, SLOT(setBounds(Vec, Vec)));

  connect(m_keyFrame, SIGNAL(update4dInfo(Vec, int, float)),
	  m_Viewer, SLOT(update4dInfo(Vec, int, float)));

  connect(m_keyFrame, SIGNAL(updateLookupTable(float*)),
	  m_Viewer, SLOT(setLUT(float*)));


  connect(m_keyFrameEditor, SIGNAL(updateGL()),
	  m_Viewer, SLOT(updateGL()));

  connect(m_keyFrameEditor, SIGNAL(endPlay()),
	  m_Viewer, SLOT(endPlay()));

  connect(m_keyFrameEditor, SIGNAL(setKeyFrame(int)),
	  m_Viewer, SLOT(setKeyFrame(int)));



#endif
